package objetos;

import interfaces.Atividade;

public class AtividadeDePedirItem implements Atividade {
	private String nomeDoUsuario, nomeDoItem, template,descricaoDoItem,IdAtividade;

	
	public AtividadeDePedirItem(String nomeDoUsuario, String nomeDoItem,String descricaoDoItem) throws Exception{
		setNomeDoUsuario(nomeDoUsuario);
		setNomeDoItem(nomeDoItem);
		setTemplate(criarTemplateDaAtividade());
		setDescricaoItem(descricaoDoItem);
	}

	@Override
	public String getTemplate() {
		return template;
	}
	
	public String getNomeDoUsuario(){
		return nomeDoUsuario;
	}
	
	public String getNomeDoItem(){
		return nomeDoItem;
	}
	
	public String getDescricaoDoItem(){
		return descricaoDoItem;
	}
	
	public void setTemplate(String template) throws Exception{
		if(template== null || template.trim().isEmpty())
			throw new Exception("Template nao pode ser null ou vazio");
		this.template = template;
	}
	
	public void setNomeDoItem(String nomeDoItem) throws Exception {
		if(nomeDoItem== null || nomeDoItem.trim().isEmpty())
			throw new Exception("Nome do item nao pode ser null ou vazio");
		this.nomeDoItem = nomeDoItem;
	}
	
	public void setNomeDoUsuario(String nomeDoUsuario) throws Exception {
		if(nomeDoUsuario== null || nomeDoUsuario.trim().isEmpty())
			throw new Exception("Nome do usuario nao pode ser null ou vazio");
		this.nomeDoUsuario = nomeDoUsuario;
	}
	
	private void setDescricaoItem(String descricaoDoItem) throws Exception {
		if(descricaoDoItem== null || descricaoDoItem.trim().isEmpty())
			throw new Exception("Descrição do item nao pode ser null ou vazio");
		this.descricaoDoItem = descricaoDoItem;	
	}
	
	@Override
	public String criarTemplateDaAtividade() {
		return  nomeDoUsuario+" precisa do item "+nomeDoItem;
	}
	

	@Override
	public String getIdAtividade(){
		return IdAtividade;
	}

	@Override
	public void setIdAtividade(String id) {
		this.IdAtividade = id;
	}



}
